1. Field of the Invention
The present invention relates to a system and method encoding and decoding barcodes. More specifically, the present invention relates to a method and system for encoding and decoding a two-dimensional color barcode.
2. Description of the Prior Art
Monochrome 2-D barcodes, a natural extension of 1-D counterparts, have become omnipresent with the increased popularity of mobile imaging devices, facilitating the emergence of a number of mobile applications. Optical machine readable encodings of digital data in image formats, commonly referred to as barcodes, have long been utilized for tagging objects with identification and tracking data for automating sales and inventory tracking tasks. The barcode name is derived from the traditional one-dimensional version of such encodings, where vertical bars are utilized to represent data, but is now used more generically to encompass almost all forms of data encoding in image formats that use either one-dimensional or two-dimensional (2-D) representations.
Monochrome 2-D barcodes have recently become very popular in mobile applications for a couple of reasons. Firstly, the camera phones inherently capture 2-D images and can therefore be directly used with 2-D barcodes, unlike conventional laser-based 1-D barcode scanners that would require hardware modifications for capturing 2-D barcode images. Secondly, equally importantly, the 2-D codes offer high enough rates (per unit substrate area) to provide a viable mechanism for bridging between the physical world of print and the cyber world of the Internet. In particular, the most common uses of 2-D barcodes are for the purpose of facilitating access to online information about products and services advertised in print media such as magazines, posters, and billboards. The universal resource locator (URL) for the online information is embedded within the print as a 2-D barcode, which can be captured with a cell phone camera, and, upon decoding, allow the user to access the information without the tedium of manually entering the URL. Among the various options available for 2-D barcodes, for mobile applications, the (monochrome) quick response (QR) code is used most extensively in practice. The QR code standard defines a flexible solution with competitive data rates, support for multiple character sets, features for rapid and robust synchronization under lighting and orientation variations, multiple data density designs, and built in variable error correction capability for handling differing application requirements.
Although 2-D codes have higher capacity than their 1-D counterparts, innovations that further increase their capacity are of considerable interest because they allow for either: a) a reduction in the substrate foot-print that these codes consume in print media, b) additional information with the same substrate footprint, c) greater robustness, or some combination thereof. Specifically, in situations where 2-D barcodes are used to connect a user with a URL associated with a product advertisement, the additional data capacity can be utilized for encoding information on the publication or location of the advertisement, which can be invaluable for assessing effectiveness of advertisement and corresponding ad-monetization.
FIGS. 1 (a)-(c) show the most popular monochrome 2-D barcodes being used in several applications. Although designs of these barcodes are perceptually very different, all of them share common characteristics. A 2-D barcode is typically composed of synchronization symbols and a data field. Synchronization symbols, also called finder patterns, are independent of the encoded information and enable barcode localization in the captured image. The data is encoded, typically in the form of black and white rectangular symbols, in the remaining barcode region called the data field. Most barcodes use a form of error correction codes such as the Reed-Solomon, to account for possible errors during the acquisition phase. Table 1 provides the average parameters for a QR code.
TABLE 1AVERAGE QR CODE PARAMETERS USED INCOMMERCIAL APPLICATIONS.PropertyValueDimension (mm)21.8 × 21.8Num. of modules29 × 29Module size (mm)0.75Avg. data length (bytes)32
The Quick Response code (“QR code”) encodes data in a grid spanning three distinct synchronization symbols located at the corners of the barcode as shown in FIG. 1 (a). QR code is the most commonly used barcode in mobile applications due to its capacity (upto 3000 bytes), flexibility and robustness, and having no license fee for commercial use. Similarly, Aztec code is frequently used in electronic ticketing applications. Symbols are arranged in layers winding around the central localization and synchronization symbol. Aztec code can encode upto 2000 bytes and has a better ratio of the data field to finder pattern size compared to the QR, but is significantly more sensitive to localization errors.
In order to increase the data rates of monochrome 2-D barcodes, color barcodes have recently been proposed for mobile applications. Amongst the most popular solutions are Microsoft High Capacity Color Barcode. The High Capacity Color Barcode is the one of the first barcode designs that exploits color for encoding data. The barcode is composed of a number of colored triangles arranged in rows on a black background as shown in FIG. 1 (d). Those rows are interleaved with white lines that are used for orientation and synchronization. Selected triangular symbols in the bottommost row provide color reference. The ColorCode is another design that uses color to encode data. It is a 5×5 matrix of colored squares, of which an ‘L’ shaped border is used for synchronization and parity check. Current version of the barcode supports encoding of only 10 digits.
There is a need for alternative techniques for encoding data in color barcodes that offer higher data rates than existing monochrome designs and greater robustness and simplicity than the existing color barcode technology options. The present invention addresses these needs.